package com.hsurosy.hsuchain.nft.base.response;

import com.alibaba.fastjson2.JSONObject;
import lombok.Data;

/**
 * REST响应类
 *
 * @Author Hsu琛君珩
 * @Date 2024-10-04 17:37
 * @Description
 * @Version: v1.0.0
 */
@Data
public class RestResponse extends BaseResponse {

    /**
     * 响应数据
     */
    private JSONObject data;

    /**
     * 错误信息
     */
    private JSONObject error;

    /**
     * 获取响应是否成功
     *
     * @return 当 data 不为 null 时返回 true，否则返回 false
     */
    @Override
    public Boolean getSuccess() {
        return data != null;
    }

    /**
     * 获取响应消息
     *
     * @return 错误消息或 null
     */
    @Override
    public String getResponseMessage() {
        if (this.error != null) {
            return error.getString("message");
        }
        return null;
    }

    /**
     * 获取响应码
     *
     * @return 错误码或 null
     */
    @Override
    public String getResponseCode() {
        if (this.error != null) {
            return error.getString("code");
        }
        return null;
    }
}
